package com.chatplus.application.domain.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;

import java.io.Serializable;
import java.util.List;

@JsonIgnoreProperties(ignoreUnknown = true)
public class AdminConfigDto implements Serializable {
    /**
     * admin_title : ChatPlus 控制台
     * chat_call_price : 0.1
     * default_models : ["eb-instant","completions_pro","generalv2","general","chatglm_pro","gpt-3.5-turbo-16k","chatglm_lite","chatglm_std","generalv3","qwen-max-1201"]
     * enabled_alipay : true
     * enabled_draw : true
     * enabled_function : true
     * enabled_msg : true
     * enabled_msg_service : false
     * enabled_register : true
     * enabled_reward : true
     * force_invite : false
     * img_call_price : 0.2
     * init_calls : 1000
     * init_chat_calls : 10
     * init_img_calls : 5
     * invite_calls : 10
     * invite_chat_calls : 100
     * invite_img_calls : 50
     * models : ["gpt-3.5-turbo-16k","gpt-3.5-turbo","gpt-4","gpt-4-32k"]
     * order_pay_info_text : 成为本站会员后每月有500次对话额度，50次 AI 绘画额度，限制下月1号解除，若在期间超过次数后可单独购买点卡。当月充值的点卡有效期可以延期到下个月底。
     * order_pay_timeout : 1800
     * register_ways : ["mobile","email"]
     * reward_img : https://img.r9it.com/chatgpt-plus/1696824231905289.png
     * show_demo_notice : true
     * title : ChatPlus AI 智能助手
     * user_init_calls : 10
     * vip_month_calls : 500
     * vip_month_img_calls : 50
     * wechat_card_url : /images/wx.png
     */

    @JsonProperty("admin_title")
    private String admLongitle;
    @JsonProperty("chat_call_price")
    private double chatCallPrice;
    @JsonProperty("enabled_alipay")
    private boolean enabledAlipay;
    @JsonProperty("enabled_draw")
    private boolean enabledDraw;
    @JsonProperty("enabled_function")
    private boolean enabledFunction;
    @JsonProperty("enabled_msg")
    private boolean enabledMsg;
    @JsonProperty("enabled_msg_service")
    private boolean enabledMsgService;
    @JsonProperty("enabled_register")
    private boolean enabledRegister;
    @JsonProperty("enabled_reward")
    private boolean enabledReward;
    @JsonProperty("force_invite")
    private boolean forceInvite;
    @JsonProperty("img_call_price")
    private double imgCallPrice;
    @JsonProperty("init_calls")
    private Long initCalls;
    @JsonProperty("init_chat_calls")
    private Long initChatCalls;
    @JsonProperty("init_img_calls")
    private Long initImgCalls;
    @JsonProperty("invite_calls")
    private Long inviteCalls;
    @JsonProperty("invite_chat_calls")
    private Long inviteChatCalls;
    @JsonProperty("invite_img_calls")
    private Long inviteImgCalls;
    @JsonProperty("order_pay_info_text")
    private String orderPayInfoText;
    @JsonProperty("order_pay_timeout")
    private Long orderPayTimeout;
    @JsonProperty("reward_img")
    private String rewardImg;
    @JsonProperty("show_demo_notice")
    private boolean showDemoNotice;
    @JsonProperty("title")
    private String title;
    @JsonProperty("user_init_calls")
    private Long userInitCalls;
    @JsonProperty("vip_month_calls")
    private Long vipMonthCalls;
    @JsonProperty("vip_month_img_calls")
    private Long vipMonthImgCalls;
    @JsonProperty("wechat_card_url")
    private String wechatCardUrl;
    @JsonProperty("default_models")
    private List<String> defaultModels;
    @JsonProperty("models")
    private List<String> models;
    @JsonProperty("register_ways")
    private List<String> registerWays;

    public String getAdmLongitle() {
        return admLongitle;
    }

    public void setAdmLongitle(String admLongitle) {
        this.admLongitle = admLongitle;
    }

    public double getChatCallPrice() {
        return chatCallPrice;
    }

    public void setChatCallPrice(double chatCallPrice) {
        this.chatCallPrice = chatCallPrice;
    }

    public boolean isEnabledAlipay() {
        return enabledAlipay;
    }

    public void setEnabledAlipay(boolean enabledAlipay) {
        this.enabledAlipay = enabledAlipay;
    }

    public boolean isEnabledDraw() {
        return enabledDraw;
    }

    public void setEnabledDraw(boolean enabledDraw) {
        this.enabledDraw = enabledDraw;
    }

    public boolean isEnabledFunction() {
        return enabledFunction;
    }

    public void setEnabledFunction(boolean enabledFunction) {
        this.enabledFunction = enabledFunction;
    }

    public boolean isEnabledMsg() {
        return enabledMsg;
    }

    public void setEnabledMsg(boolean enabledMsg) {
        this.enabledMsg = enabledMsg;
    }

    public boolean isEnabledMsgService() {
        return enabledMsgService;
    }

    public void setEnabledMsgService(boolean enabledMsgService) {
        this.enabledMsgService = enabledMsgService;
    }

    public boolean isEnabledRegister() {
        return enabledRegister;
    }

    public void setEnabledRegister(boolean enabledRegister) {
        this.enabledRegister = enabledRegister;
    }

    public boolean isEnabledReward() {
        return enabledReward;
    }

    public void setEnabledReward(boolean enabledReward) {
        this.enabledReward = enabledReward;
    }

    public boolean isForceInvite() {
        return forceInvite;
    }

    public void setForceInvite(boolean forceInvite) {
        this.forceInvite = forceInvite;
    }

    public double getImgCallPrice() {
        return imgCallPrice;
    }

    public void setImgCallPrice(double imgCallPrice) {
        this.imgCallPrice = imgCallPrice;
    }

    public Long getInitCalls() {
        return initCalls;
    }

    public void setInitCalls(Long initCalls) {
        this.initCalls = initCalls;
    }

    public Long getInitChatCalls() {
        return initChatCalls;
    }

    public void setInitChatCalls(Long initChatCalls) {
        this.initChatCalls = initChatCalls;
    }

    public Long getInitImgCalls() {
        return initImgCalls;
    }

    public void setInitImgCalls(Long initImgCalls) {
        this.initImgCalls = initImgCalls;
    }

    public Long getInviteCalls() {
        return inviteCalls;
    }

    public void setInviteCalls(Long inviteCalls) {
        this.inviteCalls = inviteCalls;
    }

    public Long getInviteChatCalls() {
        return inviteChatCalls;
    }

    public void setInviteChatCalls(Long inviteChatCalls) {
        this.inviteChatCalls = inviteChatCalls;
    }

    public Long getInviteImgCalls() {
        return inviteImgCalls;
    }

    public void setInviteImgCalls(Long inviteImgCalls) {
        this.inviteImgCalls = inviteImgCalls;
    }

    public String getOrderPayInfoText() {
        return orderPayInfoText;
    }

    public void setOrderPayInfoText(String orderPayInfoText) {
        this.orderPayInfoText = orderPayInfoText;
    }

    public Long getOrderPayTimeout() {
        return orderPayTimeout;
    }

    public void setOrderPayTimeout(Long orderPayTimeout) {
        this.orderPayTimeout = orderPayTimeout;
    }

    public String getRewardImg() {
        return rewardImg;
    }

    public void setRewardImg(String rewardImg) {
        this.rewardImg = rewardImg;
    }

    public boolean isShowDemoNotice() {
        return showDemoNotice;
    }

    public void setShowDemoNotice(boolean showDemoNotice) {
        this.showDemoNotice = showDemoNotice;
    }

    public String getTitle() {
        return title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    public Long getUserInitCalls() {
        return userInitCalls;
    }

    public void setUserInitCalls(Long userInitCalls) {
        this.userInitCalls = userInitCalls;
    }

    public Long getVipMonthCalls() {
        return vipMonthCalls;
    }

    public void setVipMonthCalls(Long vipMonthCalls) {
        this.vipMonthCalls = vipMonthCalls;
    }

    public Long getVipMonthImgCalls() {
        return vipMonthImgCalls;
    }

    public void setVipMonthImgCalls(Long vipMonthImgCalls) {
        this.vipMonthImgCalls = vipMonthImgCalls;
    }

    public String getWechatCardUrl() {
        return wechatCardUrl;
    }

    public void setWechatCardUrl(String wechatCardUrl) {
        this.wechatCardUrl = wechatCardUrl;
    }

    public List<String> getDefaultModels() {
        return defaultModels;
    }

    public void setDefaultModels(List<String> defaultModels) {
        this.defaultModels = defaultModels;
    }

    public List<String> getModels() {
        return models;
    }

    public void setModels(List<String> models) {
        this.models = models;
    }

    public List<String> getRegisterWays() {
        return registerWays;
    }

    public void setRegisterWays(List<String> registerWays) {
        this.registerWays = registerWays;
    }
}
